package ds.factcom.model;

/**
 * 
 * @author Javier De Luca, Maximiliano Herrera, Matias Samblancat
 * La clase representa a un contenedor de modelos en los cuales van a poder inicializarse de la manera
 * en la cual fue prevista para el buen funcionamiento y el mantenimiento de relaciones entre modelos.
 */
public class MainModel {

	private final ClientModel clientModel;
	private final ProductModel productModel;
	private final InvoiceModel invoiceModel;
	private final PaymentModel paymentModel;
	
	public MainModel(){
		this.clientModel = new ClientModel();
		this.productModel = new ProductModel();
		this.invoiceModel = new InvoiceModel(this.clientModel, this.productModel);
		this.paymentModel = new PaymentModel(this.invoiceModel,clientModel);
	}

	public ClientModel getClientModel() {
		return clientModel;
	}

	public InvoiceModel getInvoiceModel() {
		return invoiceModel;
	}

	public ProductModel getProductModel() {
		return productModel;
	}
	
	public PaymentModel getPaymentModel() {
		return paymentModel;
	}
}
